//package cn.youyeku.sockettransmission.ui.fragment;
//
//import android.content.BroadcastReceiver;
//import android.content.Context;
//import android.content.Intent;
//import android.content.IntentFilter;
//import android.os.Bundle;
//import android.os.Handler;
//import android.os.Message;
//import android.support.annotation.Nullable;
//import android.support.v4.content.LocalBroadcastManager;
//import android.support.v7.widget.LinearLayoutManager;
//import android.support.v7.widget.RecyclerView;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.Button;
//import android.widget.EditText;
//
//import com.obsez.android.lib.filechooser.ChooserDialog;
//
//import java.io.File;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
//import cn.youyeku.sockettransmission.R;
//import cn.youyeku.sockettransmission.adapter.ChatAdapter;
//import cn.youyeku.sockettransmission.bean.MessageType;
//import cn.youyeku.sockettransmission.bean.Msg;
//import cn.youyeku.sockettransmission.soket.socketClient;
//import cn.youyeku.sockettransmission.ui.ConstantAppConfig;
//
//import static cn.youyeku.sockettransmission.ui.ConstantAppConfig.IP;
//import static cn.youyeku.sockettransmission.ui.ConstantAppConfig.PORT;
//import static cn.youyeku.sockettransmission.ui.ConstantAppConfig.TYPE_FILE;
//import static cn.youyeku.sockettransmission.ui.ConstantAppConfig.TYPE_TEXT;
//
//
//public class ChatFragmentCopy extends BaseFragment implements View.OnClickListener {
//
//    socketClient socketClientChat;
//    socketClient socketClientFile;
//    private RecyclerView mRecycleView;
//    private ChatAdapter mMsgAdapter;
//    List<Msg> mMsgList = new ArrayList<>();
//
//    LocalBroadcastManager lbm;
//    /**
//     * 请输入要发送的内容
//     */
//    private EditText mEtInput;
//    /**
//     * 发送
//     */
//    private Button mBtSend;
//
//
//    Handler handler = new Handler() {
//        @Override
//        public void handleMessage(Message msg) {
//            super.handleMessage(msg);
//            switch (msg.what) {
//                case MessageType.MESSAGE_TYPE_FRIEND:
//                    mMsgAdapter.notifyDataSetChanged();
//                    break;
//                case MessageType.MESSAGE_TYPE_ME:
//                    mMsgAdapter.notifyDataSetChanged();
//                    break;
//            }
//            scroolToBottom();
//        }
//    };
//    /**
//     * 发送文件
//     */
//    private Button mBtSendFile;
//
//    @Nullable
//    @Override
//    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//        View view = inflater.inflate(R.layout.fgm_file, null);
//        mRecycleView = (RecyclerView) view.findViewById(R.id.recycle);
//        initView(view);
//
//        LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
//        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
//        mRecycleView.setLayoutManager(layoutManager);
//
//
//
//        mMsgAdapter = new ChatAdapter(mMsgList);
//        mRecycleView.setAdapter(mMsgAdapter);
//
//
//        //注册本地广播
//        lbm = LocalBroadcastManager.getInstance(getContext());
//        IntentFilter filter = new IntentFilter();
//        filter.addAction("youyeku.initClient");
//
//        lbm.registerReceiver(mMessageReceiver, filter);
//        return view;
//    }
//
//    private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
//        @Override
//        public void onReceive(Context context, Intent intent) {
//            if (intent.getAction().equals("youyeku.initClient")) {
//
//                new Thread(new Runnable() {
//                    @Override
//                    public void run() {
//                        initText();
//                    }
//                });
//
//                new Thread(new Runnable() {
//                    @Override
//                    public void run() {
//                        initFile();
//                    }
//                }).start();
//
//                ConstantAppConfig.isStart = true;
//            }
//        }
//    };
//
//    //滑动到底部
//    public void scroolToBottom() {
//        mRecycleView.scrollToPosition(mMsgList.size() - 1);
//    }
//
//    private void initView(View view) {
//        mEtInput = (EditText) view.findViewById(R.id.et_input);
//        mEtInput.setOnClickListener(this);
//        mBtSend = (Button) view.findViewById(R.id.bt_send);
//        mBtSend.setOnClickListener(this);
//        mBtSendFile = (Button) view.findViewById(R.id.bt_send_file);
//        mBtSendFile.setOnClickListener(this);
//    }
//
//    @Override
//    public void onClick(View v) {
//        switch (v.getId()) {
//            case R.id.et_input:
//                break;
//            case R.id.bt_send:
//                if (ConstantAppConfig.isStart) {
//                    try {
//                        String msg = mEtInput.getText().toString();
//                        socketClientChat.sendText(msg);
//                        Message message = new Message();
//                        mMsgList.add(new Msg(msg, MessageType.MESSAGE_TYPE_ME, ""));
//                        message.what = MessageType.MESSAGE_TYPE_ME;
//                        handler.sendMessage(message);
//
//                        mEtInput.setText("");
//
//                    } catch (IOException e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.bt_send_file:
//
//                new ChooserDialog().with(getActivity())
//                        .withStartFile(ConstantAppConfig.SDCARDPATH)
//                        .withChosenListener(new ChooserDialog.Result() {
//                            @Override
//                            public void onChoosePath(String path, File pathFile) {
//                                try {
//                                    socketClientFile.sendFile(path);
//                                } catch (IOException e) {
//
//                                    Log.w("","发送异常");
//                                    e.printStackTrace();
//                                } catch (InterruptedException e) {
//                                    e.printStackTrace();
//                                }
//                            }
//                        })
//                        .build()
//                        .show();
//
//                break;
//        }
//    }
//
//    private void initText() {
//
//        socketClientChat = new socketClient(IP, PORT, TYPE_TEXT);
//
//        socketClientChat.setSocketTextListener(new socketClient.soketTextListener() {
//            @Override
//            public void onReciveText(String msg) {
//                mMsgList.add(new Msg(msg, MessageType.MESSAGE_TYPE_FRIEND, ""));
//                Message message = new Message();
//                message.what = MessageType.MESSAGE_TYPE_FRIEND;
//                handler.sendMessage(message);
//
//            }
//        });
//        socketClientChat.init();
//    }
//
//    private void initFile() {
//        socketClientFile = new socketClient(IP, PORT, TYPE_FILE);
//        socketClientFile.setSocketFileListener(new socketClient.soketFileListener() {
//            @Override
//            public void onSendFile(String data) {
////                Toast.makeText(SysApplication.getAppBaseContext(),"发送文件进度"+data,Toast.LENGTH_SHORT).show();
////                FramentThreadShortToast(getContext(), data);
//            }
//
//            @Override
//            public void onReciveFile() {
//
//            }
//
//            @Override
//            public void onReciveFileSuccess(String fileName) {
////                Toast.makeText(SysApplication.getAppBaseContext(),fileName+"接收完毕",Toast.LENGTH_SHORT).show();
//
//                FramentThreadShortToast(getContext(), fileName + "接收完毕");
//            }
//        });
//        socketClientFile.init();
//    }
//
//    @Override
//    public void onDestroy() {
//        super.onDestroy();
//        lbm.unregisterReceiver(mMessageReceiver);
//    }
//}
